『
누워서 읽는 퍼즐북』 편집자 IT 전문서팀 송성근
이 책은 "에세이 형식의 퍼즐북"이다. 저자가 평상시에 소프트웨어 개발을 하면서 접했던 알고리즘에 관한, 친구들과 가벼운 수수께끼나 농담처럼 주고받았던, 책이나 영화에서 접했던, 인터넷 퍼즐사이트에서 만났던 퍼즐문제는 문제를 풀어가는 쾌감을 전해준다. 더군다나 에세이를 읽는 즐거움을 준다. 그래서 "퍼즐이야기"다. 문제해결의 과정을 즐기는 프로그래머가 누구보다도 반길 테지만 프로그래머가 아닌, 책 읽기를 즐기는 독자도 며칠 동안 곁에 두면서 좋은 벗으로 삼기에 부족함이 없다. 책 제목처럼 정말로 누워서 읽을 수 있는, 그래서 책 읽기를 즐기는 사람에게 며칠 동안 곁에 머물면서 좋은 벗이 되어줄 것이다.
이 책의 기획 의도
소프트웨어 개발에서는 종종 뜻하지 않은 버그와 만나는데 버그를 잡아내는 일은 끝까지 포기하지 않는 집중력과 끈기, 그리고 실낱 같은 실마리에서 출발해서 버그의 원인을 찾아내는 고도의 추리력을 필요로 한다. 그래서 프로그래머는 퍼즐문제 푸는 것을 즐긴다. 뉴욕에서 소프트웨어 개발팀을 이끌고 있는 저자도 마찬가지다. 사실 퍼즐문제를 다루고 있는 책들은 많은데 여기에 또 한 권의 퍼즐북을 추가한 이유는, 문제와 답을 건조하게 나열해놓은 책들이 대부분이어서 읽는 재미를 얻을 수 있는 책은 많지 않기 때문이다. 모아 놓은 문제 자체가 흥미로우면 그나마 다행이지만 그렇지 않은 경우가 더 많아서 문제를 주는 기쁨마저도 주지 못하는 책이 더 많다. 물론 피터 윈클러나 마틴 가드너의 책처럼 괜찮은 책도 많지만, 그런 책 안에는 어려운 문제가 많이 담겨 있기 때문에 평범한 사람들이 읽기에는 쉽지 않다. 이 책은 평범한 사람들도 문제해결의 쾌감을 맛보고 책을 읽는 즐거움을 느낄 수 있도록 쉽게 이해되는, 어렵지 않게 정답을 찾을 수 있는 퍼즐문제를 담았다. 퍼즐문제를 즐기는 프로그래머가 누구보다도 반길 테지만 프로그래머가 아닌, 책 읽기를 즐기는 평범한 독자도 분명 반길 것이다. 문제를 풀든, 풀지 못하든 아무 상관이 없다. 중요한 것은 문제를 풀어 나가면서 재미를 느끼는가 여부다. 이 책을 통해 퍼즐문제를 푸는 즐거움, 책을 읽는 즐거움에 흠뻑 빠져들기를 바란다.
편집자가 말하는 저자 이야기
『행복한 프로그래밍』(2003)부터 『누워서 읽는 알고리즘』(2003), 『나는 프로그래머다』(2004), 『소프트웨어 산책』(2005), 『뉴욕의 프로그래머』(2007), 『프로그래밍은 상상이다』(2008)까지 임백준 저자는 거의 매년 책을 내고 있다. 이 많은 책을 집필한 것도 놀랍지만, 그가 뉴욕 월스트리트에 있는 회사에서 금융 소프트웨어를 개발하고 있는 프로그래머인 것을 알게 되면 그의 열정에 또 한번 놀랄 수밖에 없다. 또한 그의 글은 읽는 재미를 준다. 마치 한 편의 에세이를 읽는 것처럼 말이다. 프로그래머라면 누구라도 공감할 수 있고, 글을 읽는 재미까지 덤으로 주는 그의 책은 그래서 스테디셀러로 자리 잡았다.
처음 임백준 저자를 만났을 때를 잊을 수가 없다. 상대방의 입장을 이해하고 배려하는 모습에서 그의 삶을 어렴풋이나마 읽을 수 있었기 때문이다. 그는 내가 생각했던 것보다 훨씬 선했다. 그의 책을 접한 독자들은 수학자로서, 프로그래머로서의 자질을 높이 산다. 물론 그렇다. 그러나 나는 그보다 그의 삶에 대한 태도를 더 높이 산다. 그래서 진솔한 삶이 느껴지는 그의 글을 나는 좋아한다.
이 책을 준비하면서 겪은 일화를 하나 소개한다. 인쇄를 시작하기 바로 하루 전, 그로부터 긴급한 메일 한 통을 받았다. 그의 어머니가 많이 편찮기에, 어쩌면 어머니 생전에 마지막 책이 될 지도 모르는 마음에 책 서두에 헌정사를 넣어달라는 요청이었다. "사랑하는 어머니에게 이 책을 드립니다" - 이 책의 3쪽에 있는 헌사다. 한국에 살고 계신 부모를 걱정하는 그의 마음이 메일을 타고 내게 넘어 왔다.
이 책을 조금 더 소개하면
이 책은 세 개의 장으로 구성된다. 1장은 일반적인 퍼즐문제, 2장은 게임이론의 요소를 담은 퍼즐문제, 3장은 도형, 공간, 시각에 대한 상상이 필요한 퍼즐문제를 담았다. 모든 장의 내용이 다 재미있지만 개인적으로는 2장을 가장 재미있게 읽었다. 영화 『뷰티플 마인드』에서 꺼낸 게임이론의 화두는 책에서 눈을 뗄 수 없는 매력을 안겨 준다. 이 장에서 언급된 2,000년 전의 문서 『바빌로니아 탈무드』에 수록된 다음 문제를 보자.
"3명의 아내를 둔 남자가 죽으면 세 아내는 각각 100, 200 그리고 300에 해당하는 재산을 물려받는다. 하지만, 남편의 재산이 100밖에 없으면 세 아내는 100을 똑같이 공평하게 나누어 갖는다. 만약 남편의 재산이 200이면 세 아내는 50, 75, 75의 재산을 물려받는다. 그리고 남편의 재산이 300이면 세 아내는 원래의 비율에 맞게 50, 100, 150의 재산을 물려받는다."
"결혼계약문제"라고 불리는 이 율법은 기본적으로 세 아내에게 1:2:3의 비율을 적용할 것을 권고하고 있는데, 남편의 재산이 300이 되지 않을 때에는 일반적인 비율과 다른 특수한 비율을 적용하도록 함으로써 혼란을 일으키고 있다. 남편의 재산이 100이면 1:1:1의 비율을 적용하고, 200이면 2:3:3의 비율을 적용하라고 말하는 것이다. 재산이 300이 되지 않을 때는 왜 이러한 특별한 비율을 적용해야 하는가? 더구나 재산이 100일 때와 200일 때에 적용하는 비율은 왜 달라져야 하는가? 무엇을 기준으로 그러한 비율이 정해진 것인가?
보기에 따라서는 아무렇게나 정해진 것 같은 이 기묘한 율법에 대한 의문은 마치 수학계에서 페르마의 마지막 정리나 푸앵카레의 추측이 수학자들에게 그렇게 했던 것처럼 2,000년 동안 수많은 사람을 미궁에 빠뜨리며 괴롭혀 왔다. 그리고 페르마의 마지막 정리가 앤드루 와일즈에게 증명이 되고, 푸앵카레의 추측이 러시아의 기인 야코블레비치 페렐만에 의해서 해결이 된 것처럼, 마침내 이 결혼계약문제의 미스터리는 1985년 이스라엘의 수학자인 아우만과 매쉴러에 의해서 풀렸다.
재미있는 것은 이러한 분배방식을 사용한 당시의 유대인들이 과연 게임이론을 알고 있었겠느냐 하는 점이다. 그럴 리는 없다고 생각되지만, 공평함을 추구한 당시의 관습이 게임이론의 법칙과 이렇게 완벽하게 맞아 떨어진다는 점은 놀랍다. 결혼계약문제의 답이 궁금하다면 지금 바로 책을 사서 읽어보기 바란다. 책은 서점에 있다(^^).